package cn.gov.pbc.gd.credit.api.online;

import java.io.Serializable;
import java.util.List;

import com.liu.jbase.PageListVo;

import cn.gov.pbc.gd.credit.vo.online.OnlineUserVo;

/**
 * @date 2017年5月13日
 * @time 下午5:16:38
 * @author liuxingmi
 * @desc 在线用户
 * @param 
 */
public interface IOnlineUserApi {

    /**
     * 保存数据
     * 
     * @param entity
     */
    public void insert(OnlineUserVo entity) throws Exception;

    /**
     * 根据ID更新数据
     * 
     * @param id
     * @param key
     * @param value
     */
    public void updateById(Serializable id, String key, String value) throws Exception;

    /**
     * 根据条件更新数据
     * 
     * @param query
     * @param key
     * @param value
     */
    public void update(OnlineUserVo vo) throws Exception;

    /**
     * 查询并更新条件更新数据
     * 
     * @param query
     * @param key
     * @param value
     */
    public OnlineUserVo findAndUpdate(OnlineUserVo vo) throws Exception;

   
    /**
     * 根据条件删除数据
     * 
     * @param query
     */
    public void deleteByQuery(OnlineUserVo vo) throws Exception;

    /**
     * 根据ID查询数据
     * 
     * @param id
     * @return
     */
    public OnlineUserVo getOneById(Serializable id) throws Exception;

    /**
     * 根据query查询数据
     * 
     * @param id
     * @return
     */
    public OnlineUserVo getOne(OnlineUserVo vo) throws Exception;

    /**
     * 获取所有数据
     * 
     * @return
     */
    public List<OnlineUserVo> getAll(Class<OnlineUserVo> entity) throws Exception;

    /**
     * 获取所有数据
     * 
     * @return
     */
    public List<OnlineUserVo> getAll(OnlineUserVo vo) throws Exception;

    /**
     * 根据条件获取总数
     * 
     * @param query
     * @return
     */
    public long getCount(OnlineUserVo vo) throws Exception;

    /**
     * 根据条件查询分页
     * 
     * @param query
     * @param page
     * @return
     */
    public PageListVo<OnlineUserVo> getPage(OnlineUserVo vo, PageListVo<OnlineUserVo> page) throws Exception;


}
